using System;
using System.Collections.Generic;
using System.Text;
using System.Workflow.Activities;

namespace SampleWorkflows
{
    [ExternalDataExchange]
	public interface IPublishVideoService
	{
        /// <summary>
        /// Occurs when [video published].
        /// </summary>
        event EventHandler<PublishEventArgs> VideoPublished;
	}

    [Serializable]
   public class PublishEventArgs : ExternalDataEventArgs
    {

       string m_videoPath;
       string m_accountID;
       string m_accountKey;
       string m_filesetName;


       /// <summary>
       /// Gets or sets the name of the fileset.
       /// </summary>
       /// <value>The name of the fileset.</value>
       public string FilesetName
       {
           get { return m_filesetName; }
           set { m_filesetName = value; }
       }

       /// <summary>
       /// Gets or sets the account ID.
       /// </summary>
       /// <value>The account ID.</value>
       public string AccountID
       {
           get { return m_accountID; }
           set { m_accountID = value; }
       }

       /// <summary>
       /// Gets or sets the account key.
       /// </summary>
       /// <value>The account key.</value>
       public string AccountKey
       {
           get { return m_accountKey; }
           set { m_accountKey = value; }
       }

       /// <summary>
       /// Gets or sets the video path.
       /// </summary>
       /// <value>The video path.</value>
       public string VideoPath
       {
           get { return m_videoPath; }
           set { m_videoPath = value; }
       }

        public PublishEventArgs(Guid instanceId)
            : base(instanceId)
        {

        }
    }
}
